<template>
  <ul class="todo-list">
    <!-- completed: 完成的类名 -->
    <!--③ v-for="item in list" :key="item.id" -->
    <!--⑥ :class="{completed:item.isDone}" -->
    <li :class="{completed:item.isDone}" class="completed" v-for="item in list" :key="item.id">
      <div class="view">
        <!--④ v-model="item.isDone" -->
        <!-- 原则是父组件的数据流向子组件，子组件的数据不能流向父组件 -->
        <!-- 十一。 为了不违反单项事件流的原则去掉v-model="item.isDone"-->
        <!-- 加上@checked="item.isDone" -->
        <input class="toggle" type="checkbox" :checked="item.isDone" @change="changeFn(item.id)"/>
        <!--⑤ {{item.name}} -->
        <label>{{item.name}}</label>
        <!--⑦ @click="del(item.id) -->
        <button class="destroy" @click="del(item.id)"></button>
      </div>
    </li>
  </ul>
  
</template>

<script>
export default {
  //props:['list']
  //②  
  props:{
    list:{
      type:Array,
      required:true
    }
  },
  methods:{
    //⑧
    del(id){
      //console.log(id);
      this.$emit('del',id)
    },
    //十二。
    changeFn(id) {
      this.$emit('change',id)
    },
    
  }
}
</script>